package org.ghost.http.testkit.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.ghost.http.testkit.entity.ConfigEnv;
import org.ghost.http.testkit.mapper.ConfigEnvMapper;
import org.ghost.http.testkit.service.IConfigEnvService;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author author
 * @since 2018-05-02
 */
@Service
public class ConfigEnvServiceImpl extends ServiceImpl<ConfigEnvMapper, ConfigEnv> implements IConfigEnvService {
    @Override
    public Page<ConfigEnv> selectPage(Page<ConfigEnv> page) {
        Wrapper<ConfigEnv> wrapper = null;
        if (MapUtils.isNotEmpty(page.getCondition())) {
            wrapper = new EntityWrapper<ConfigEnv>();
            for (Map.Entry<String, Object> item : page.getCondition().entrySet()) {
                if (StringUtils.isNotBlank(item.getKey()) && item.getValue() != null && StringUtils.isNotBlank(item.getValue().toString())) {
                    wrapper.eq(item.getKey(), item.getValue().toString());
//                    if (item.getValue() instanceof Collection) {
//                        wrapper.in(item.getKey(), (Collection) item.getValue());
//                    } else {
//                        wrapper.eq(item.getKey(), item.getValue().toString());
//                    }
                }
            }
        }
        page.setRecords(baseMapper.selectPage(page, wrapper));
        return page;
    }
}
